diff --git a/geomagio/residual/Calculation.py b/geomagio/residual/Calculation.py
index 5352676b752ce974ff81d852ead1ea4d4006da8d..72708859b8382b38829db4c34d3cc926417ac739 100644
--- a/geomagio/residual/Calculation.py
+++ b/geomagio/residual/Calculation.py
@@ -37,18 +37,23 @@ def calculate(reading: Reading, adjust_reference: bool = True) -> Reading:
         hemisphere=reading.hemisphere, measurements=reading.measurements
     )
     corrected_f = f + reading.pier_correction
-    # calculate absolutes, horizontal_component, vertical_component
-    (
-        absoluteH,
-        absoluteZ,
-        horizontal_component,
-        vertical_component,
-    ) = calculate_HZ_absolutes(
+
+    # calculate absolutes,
+    (absoluteH, absoluteZ) = calculate_HZ_absolutes(
         corrected_f=corrected_f,
         inclination=inclination,
         mean=i_mean,
         reference=reference,
     )
+
+    horizontal_component = calculate_horizontal_component(
+        inclination=inclination, corrected_f=corrected_f
+    )
+
+    vertical_component = calculate_vertical_component(
+        inclination=inclination, corrected_f=corrected_f
+    )
+
     absoluteD, meridian = calculate_D_absolute(
         azimuth=reading.azimuth,
         h_baseline=absoluteH.baseline,
@@ -88,10 +93,7 @@ def calculate(reading: Reading, adjust_reference: bool = True) -> Reading:
         mean_mark=mean_mark, magnetic_south_meridian=magnetic_south_meridian
     )
 
-    ordinate_f = calculate_ordinate_f(
-        corrected_f=corrected_f,
-        pier_correction=reading.pier_correction,
-    )
+    ordinate_f = f
 
     ordinate_d = calculate_ordinate_d(
         absoluteD_absolute=absoluteD.absolute,
@@ -118,7 +120,6 @@ def calculate(reading: Reading, adjust_reference: bool = True) -> Reading:
         magnetic_azimuth_of_mark=magnetic_azimuth_of_mark,
         magnetic_south_meridian=magnetic_south_meridian,
         mean_mark=mean_mark,
-        meridian=meridian,
         ordinate_d=ordinate_d,
         ordinate_f=ordinate_f,
         ordinate_h=ordinate_h,
@@ -219,7 +220,7 @@ def calculate_HZ_absolutes(
     mean: AverageMeasurement,
     reference: Measurement,
 ) -> Tuple[Absolute, Absolute, float, float]:
-    """Calculate H and Z absolutes, horizontal_component,       vertical_component.
+    """Calculate H and Z absolutes
 
     Parameters
     ----------
@@ -233,15 +234,8 @@ def calculate_HZ_absolutes(
     Tuple
         - H Absolute
         - Z Absolute
-        - horizontal_component,
-        - vertical_component
     """
-
-    #  store the pre-shifted h_abs and the pre-shifted z_abs
     inclination_radians = np.radians(inclination)
-    horizontal_component = corrected_f * np.cos(inclination_radians)
-    vertical_component = corrected_f * np.sin(inclination_radians)
-
     h_abs = corrected_f * np.cos(inclination_radians)
     z_abs = corrected_f * np.sin(inclination_radians)
     h_b = np.sqrt(h_abs**2 - mean.e**2) - mean.h
@@ -271,8 +265,6 @@ def calculate_HZ_absolutes(
             starttime=starttime,
             endtime=endtime,
         ),
-        horizontal_component,
-        vertical_component,
     )
 
 
@@ -409,7 +401,7 @@ def calculate_D_computed(
 
     d_computed = np.average(
         [
-            np.degrees(np.arctan(m.e / (m.h + h_baseline)))
+            -1 * np.degrees(np.arctan(m.e / (m.h + h_baseline)))
             for m in declination_measurements
         ]
     )
@@ -493,28 +485,6 @@ def calculate_magnetic_azimuth_of_mark(
     return magnetic_azimuth_of_mark
 
 
-def calculate_ordinate_f(
-    corrected_f: float,
-    pier_correction: float,
-) -> float:
-    """Calculate ordinate_f.
-
-    Parameters
-    ----------
-    corrected_f: float,
-    pier_correction:float,
-
-
-    Returns
-    -------
-    Calculated ordinate_f
-    """
-
-    ordinate_f = corrected_f - pier_correction
-
-    return ordinate_f
-
-
 def calculate_ordinate_d(
     absoluteD_absolute: float,
     absoluteD_baseline: float,
@@ -576,8 +546,46 @@ def calculate_ordinate_h(
     -------
     Calculated ordinate_h
     """
-    ordinate_e = absoluteH_absolute * np.sin(ordinate_d)
+    ordinate_e = absoluteH_absolute * np.sin(np.radians(ordinate_d))
 
     ordinate_h = np.sqrt(absoluteH_absolute**2 - ordinate_e**2) - absoluteH_baseline
 
     return ordinate_h
+
+
+def calculate_horizontal_component(inclination: float, corrected_f: float) -> float:
+    """Calculate horizontal_component.
+
+    Parameters
+    ----------
+    inclination: calculated inclination.
+    corrected_f: calculated f with pier correction.
+
+    Returns
+    -------
+    Calculated horizontal_component
+    """
+
+    inclination_radians = np.radians(inclination)
+    horizontal_component = corrected_f * np.cos(inclination_radians)
+
+    return horizontal_component
+
+
+def calculate_vertical_component(inclination: float, corrected_f: float) -> float:
+    """Calculate vertical_component.
+
+    Parameters
+    ----------
+    inclination: calculated inclination.
+    corrected_f: calculated f with pier correction.
+
+    Returns
+    -------
+    Calculated vertical_component
+    """
+
+    inclination_radians = np.radians(inclination)
+    vertical_component = corrected_f * np.sin(inclination_radians)
+
+    return vertical_component
diff --git a/geomagio/residual/Diagnostics.py b/geomagio/residual/Diagnostics.py
index 7844cb7b6b4dcc0ed1923b27c1404dd7a39330c7..7c75de63106022b30bead8ffea2653549d916c3a 100644
--- a/geomagio/residual/Diagnostics.py
+++ b/geomagio/residual/Diagnostics.py
@@ -8,11 +8,10 @@ class Diagnostics(BaseModel):
 
     Attributes
     ----------
-     corrected_f: Optional[float] = None
+    corrected_f: Optional[float] = None
     d_computed: Optional[float] = None
     horizontal_component: Optional[float] = None
-    horizontal_component: Optional[float] = None
-    inclination: float
+    inclination: Optional[float] = None
     magnetic_azimuth_of_mark: Optional[float] = None
     magnetic_south_meridian: Optional[float] = None
     mean_mark: Optional[float] = None
@@ -22,19 +21,16 @@ class Diagnostics(BaseModel):
     ordinate_h: Optional[float] = None
     ordinate_z: Optional[float] = None
     r_computed: Optional[float] = None
-    scale_value: Optional[float] = None
     vertical_component: Optional[float] = None
     """
 
     corrected_f: Optional[float] = None
     d_computed: Optional[float] = None
     horizontal_component: Optional[float] = None
-    horizontal_component: Optional[float] = None
-    inclination: float
+    inclination: Optional[float] = None
     magnetic_azimuth_of_mark: Optional[float] = None
     magnetic_south_meridian: Optional[float] = None
     mean_mark: Optional[float] = None
-    meridian: Optional[float] = None
     ordinate_d: Optional[float] = None
     ordinate_f: Optional[float] = None
     ordinate_h: Optional[float] = None