Skip to content
Snippets Groups Projects
Commit 8ecd0806 authored by Cain, Payton David's avatar Cain, Payton David
Browse files

Changes test precision, remove rounding

parent e5f2ebdd
No related branches found
No related tags found
No related merge requests found
......@@ -29,9 +29,7 @@ def calculate(reading: Reading, adjust_reference: bool = True) -> Reading:
NOTE: rest of reading object is shallow copy.
"""
# reference measurement, used to adjust absolutes
reference = None
if adjust_reference == True:
reference = reading[mt.WEST_DOWN][0]
reference = reading[mt.WEST_DOWN][0]
# calculate inclination
inclination, f, mean = calculate_I(
hemisphere=reading.hemisphere, measurements=reading.measurements
......@@ -41,15 +39,14 @@ def calculate(reading: Reading, adjust_reference: bool = True) -> Reading:
absoluteH, absoluteZ = calculate_HZ_absolutes(
corrected_f=corrected_f,
inclination=inclination,
reference=adjust_reference and reference or None,
mean=mean,
reference=reference,
)
absoluteD = calculate_D_absolute(
azimuth=reading.azimuth,
h_baseline=absoluteH.baseline,
measurements=reading.measurements,
reference=reference,
mean=mean,
reference=adjust_reference and reference or mean,
)
# calculate scale
if reading[mt.NORTH_DOWN_SCALE]:
......@@ -75,7 +72,6 @@ def calculate_D_absolute(
azimuth: float,
h_baseline: float,
reference: Measurement,
mean: Measurement,
) -> Absolute:
"""Calculate D absolute.
......@@ -115,19 +111,15 @@ def calculate_D_absolute(
for m in declination_measurements
]
)
shift = 0.0
if azimuth > 180:
azimuth -= 180
shift = -180
else:
shift = 0.0
# add subtract average mark angle from average meridian angle and add
# azimuth to get the declination baseline
d_b = (meridian - average_mark) + azimuth
# calculate absolute
if reference:
d_abs = d_b + np.degrees(np.arctan(reference.e / (reference.h + h_baseline)))
else:
d_abs = d_b + np.degrees(np.arctan(mean.e / (mean.h + h_baseline)))
d_abs = d_b + np.degrees(np.arctan(reference.e / (reference.h + h_baseline)))
return Absolute(element="D", absolute=d_abs, baseline=d_b, shift=shift)
......@@ -155,8 +147,8 @@ def calculate_HZ_absolutes(
inclination_radians = np.radians(inclination)
h_abs = corrected_f * np.cos(inclination_radians)
z_abs = corrected_f * np.sin(inclination_radians)
h_b = round(np.sqrt(h_abs ** 2 - mean.e ** 2) - mean.h, 1)
z_b = round(z_abs - mean.z, 1)
h_b = np.sqrt(h_abs ** 2 - mean.e ** 2) - mean.h
z_b = z_abs - mean.z
# adjust absolutes to reference measurement
if reference:
h_abs = np.sqrt((h_b + reference.h) ** 2 + (reference.e) ** 2)
......
......@@ -13,19 +13,19 @@ def assert_readings_equal(expected: Reading, actual: Reading):
assert_almost_equal(
[expected_absolutes["H"].absolute, expected_absolutes["H"].baseline],
[actual_absolutes["H"].absolute, actual_absolutes["H"].baseline],
decimal=4,
decimal=1,
verbose=True,
)
assert_almost_equal(
[expected_absolutes["D"].absolute, expected_absolutes["D"].baseline],
[actual_absolutes["D"].absolute, actual_absolutes["D"].baseline],
decimal=3,
decimal=1,
verbose=True,
)
assert_almost_equal(
[expected_absolutes["Z"].absolute, expected_absolutes["Z"].baseline],
[actual_absolutes["Z"].absolute, actual_absolutes["Z"].baseline],
decimal=4,
decimal=1,
verbose=True,
)
assert_almost_equal(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment