diff --git a/modules/util/acspo_validate.py b/modules/util/acspo_validate.py
index 92f93dae000f393ef6bd1ec8605d5275069aeed1..ce87039566564c8a2825a3ef1db01089d52c04af 100644
--- a/modules/util/acspo_validate.py
+++ b/modules/util/acspo_validate.py
@@ -65,22 +65,33 @@ def acspo_validate(oper_file, cspp_file, rel_tol=0.001, outfile_nc=None):
     start_idx_cspp, stop_idx_cspp = -1, -1
 
     # Average latitude spacing: 0.00652 deg
+    thresh = 0.0002  # deg
 
     for k in range(len(cntr_lat_oper)):
-        c_a = np.isclose(cntr_lat_oper[k], cntr_lat_cspp)
-        if np.sum(c_a) == 1:
-            if start_idx_oper == -1:
-                start_idx_oper = k
-                start_idx_cspp = np.nonzero(c_a)[0][0]
-                break
-
-    for k in range(len(cntr_lat_oper)-1, 0, -1):
-        c_a = np.isclose(cntr_lat_oper[k], cntr_lat_cspp)
-        if np.sum(c_a) == 1:
-            if stop_idx_oper == -1:
-                stop_idx_oper = k
-                stop_idx_cspp = np.nonzero(c_a)[0][0]
-                break
+        diff = np.abs(cntr_lat_oper[k] - cntr_lat_cspp)
+        idx_a = np.where(diff < thresh)[0]
+        if len(idx_a) == 0:
+            continue
+        elif len(idx_a) == 1:
+            start_idx_oper = k
+            start_idx_cspp = idx_a[0]
+            break
+        else:
+            print("weirdness")
+            break
+
+    if start_idx_oper < 0:
+        print("no overlap found")
+
+    num_oper_remain = (oper_track_len - 1) - start_idx_oper
+    num_cspp_remain = (cspp_track_len - 1) - start_idx_cspp
+
+    if num_oper_remain <= num_cspp_remain:
+        stop_idx_oper = start_idx_oper + num_oper_remain
+        stop_idx_cspp = start_idx_cspp + num_oper_remain
+    else:
+        stop_idx_oper = start_idx_oper + num_cspp_remain
+        stop_idx_cspp = start_idx_cspp + num_cspp_remain
 
     print('oper start, stop ', start_idx_oper, stop_idx_oper)
     print('cspp start, stop ', start_idx_cspp, stop_idx_cspp)