@@ 1129-1170 (lines=42) @@ | ||
1126 | ||
1127 | # test 1D array return values |
|
1128 | ||
1129 | def test_basevectors_apex_array(): |
|
1130 | A = Apex(date=2000, refh=300) |
|
1131 | (f1, f2, f3, g1, g2, g3, d1, d2, d3, e1, e2, |
|
1132 | e3) = A.basevectors_apex([0, 30], 15, 100, coords='geo') |
|
1133 | (_, _, _, _, f1_1, f2_1, _, d1_1, d2_1, d3_1, _, e1_1, e2_1, |
|
1134 | e3_1) = A._geo2apexall(0, 15, 100) |
|
1135 | (_, _, _, _, f1_2, f2_2, _, d1_2, d2_2, d3_2, _, e1_2, e2_2, |
|
1136 | e3_2) = A._geo2apexall(30, 15, 100) |
|
1137 | ||
1138 | assert_allclose(f1[:, 0], f1_1) |
|
1139 | assert_allclose(f2[:, 0], f2_1) |
|
1140 | assert_allclose(d1[:, 0], d1_1) |
|
1141 | assert_allclose(d2[:, 0], d2_1) |
|
1142 | assert_allclose(d3[:, 0], d3_1) |
|
1143 | assert_allclose(e1[:, 0], e1_1) |
|
1144 | assert_allclose(e2[:, 0], e2_1) |
|
1145 | assert_allclose(e3[:, 0], e3_1) |
|
1146 | ||
1147 | assert_allclose(f3[:, 0], np.array([0.092637, -0.245951, 0.938848]), |
|
1148 | rtol=1e-4) |
|
1149 | assert_allclose(g1[:, 0], np.array([0.939012, 0.073416, -0.07342]), |
|
1150 | rtol=1e-4) |
|
1151 | assert_allclose(g2[:, 0], np.array([0.055389, 1.004155, 0.257594]), |
|
1152 | rtol=1e-4) |
|
1153 | assert_allclose(g3[:, 0], np.array([0, 0, 1.065135]), rtol=1e-4) |
|
1154 | ||
1155 | assert_allclose(f1[:, 1], f1_2) |
|
1156 | assert_allclose(f2[:, 1], f2_2) |
|
1157 | assert_allclose(d1[:, 1], d1_2) |
|
1158 | assert_allclose(d2[:, 1], d2_2) |
|
1159 | assert_allclose(d3[:, 1], d3_2) |
|
1160 | assert_allclose(e1[:, 1], e1_2) |
|
1161 | assert_allclose(e2[:, 1], e2_2) |
|
1162 | assert_allclose(e3[:, 1], e3_2) |
|
1163 | ||
1164 | assert_allclose(f3[:, 1], np.array([-0.036618, -0.071019, 0.861604]), |
|
1165 | rtol=1e-4) |
|
1166 | assert_allclose(g1[:, 1], np.array([0.844391, 0.015353, 0.037152]), |
|
1167 | rtol=1e-4) |
|
1168 | assert_allclose(g2[:, 1], np.array([0.050808, 1.02131, 0.086342]), |
|
1169 | rtol=1e-4) |
|
1170 | assert_allclose(g3[:, 1], np.array([0, 0, 1.160625]), rtol=1e-4) |
|
1171 | ||
1172 | ||
1173 | # test that vectors are calculated correctly |
|
@@ 1058-1099 (lines=42) @@ | ||
1055 | ||
1056 | ||
1057 | # test correct vectorization of height |
|
1058 | def test_basevectors_apex_vectorization_height(): |
|
1059 | A = Apex(date=2000, refh=0) |
|
1060 | (f1, f2, f3, g1, g2, g3, d1, d2, d3, e1, e2, |
|
1061 | e3) = A.basevectors_apex(60, 15, [200, 400], coords='geo') |
|
1062 | (_, _, _, _, f1_1, f2_1, _, d1_1, d2_1, d3_1, _, e1_1, e2_1, |
|
1063 | e3_1) = A._geo2apexall(60, 15, 200) |
|
1064 | (_, _, _, _, f1_2, f2_2, _, d1_2, d2_2, d3_2, _, e1_2, e2_2, |
|
1065 | e3_2) = A._geo2apexall(60, 15, 400) |
|
1066 | ||
1067 | assert_allclose(f1[:, 0], f1_1) |
|
1068 | assert_allclose(f2[:, 0], f2_1) |
|
1069 | assert_allclose(d1[:, 0], d1_1) |
|
1070 | assert_allclose(d2[:, 0], d2_1) |
|
1071 | assert_allclose(d3[:, 0], d3_1) |
|
1072 | assert_allclose(e1[:, 0], e1_1) |
|
1073 | assert_allclose(e2[:, 0], e2_1) |
|
1074 | assert_allclose(e3[:, 0], e3_1) |
|
1075 | ||
1076 | assert_allclose(f3[:, 0], np.array([-0.088671, -0.018272, 0.993576]), |
|
1077 | rtol=1e-4) |
|
1078 | assert_allclose(g1[:, 0], np.array([0.903098, 0.245273, 0.085107]), |
|
1079 | rtol=1e-4) |
|
1080 | assert_allclose(g2[:, 0], np.array([-0.103495, 1.072078, 0.01048]), |
|
1081 | rtol=1e-4) |
|
1082 | assert_allclose(g3[:, 0], np.array([0, 0, 1.006465]), rtol=1e-4) |
|
1083 | ||
1084 | assert_allclose(f1[:, 1], f1_2) |
|
1085 | assert_allclose(f2[:, 1], f2_2) |
|
1086 | assert_allclose(d1[:, 1], d1_2) |
|
1087 | assert_allclose(d2[:, 1], d2_2) |
|
1088 | assert_allclose(d3[:, 1], d3_2) |
|
1089 | assert_allclose(e1[:, 1], e1_2) |
|
1090 | assert_allclose(e2[:, 1], e2_2) |
|
1091 | assert_allclose(e3[:, 1], e3_2) |
|
1092 | ||
1093 | assert_allclose(f3[:, 1], np.array([-0.085415, -0.021176, 0.989645]), |
|
1094 | rtol=1e-4) |
|
1095 | assert_allclose(g1[:, 1], np.array([0.902695, 0.246919, 0.083194]), |
|
1096 | rtol=1e-4) |
|
1097 | assert_allclose(g2[:, 1], np.array([-0.11051, 1.066094, 0.013274]), |
|
1098 | rtol=1e-4) |
|
1099 | assert_allclose(g3[:, 1], np.array([0, 0, 1.010463]), rtol=1e-4) |
|
1100 | ||
1101 | ||
1102 | # test scalar return values |