diff --git a/modules/amv/aeolus.py b/modules/amv/aeolus.py
index b1ce78d8675f649c9620e59f8ca972efbec6ff51..db0b18bead75da210376d2402de78dd56f34f555 100644
--- a/modules/amv/aeolus.py
+++ b/modules/amv/aeolus.py
@@ -9,6 +9,7 @@ from metpy import *
 import h5py
 from netCDF4 import Dataset
 
+from aeolus.aeolus_amv import get_aeolus_time_dict
 from util.lon_lat_grid import earth_to_indexs
 from util.geos_nav import GEOSNavigation
 from util.util import bin_data_by, get_bin_ranges
@@ -133,81 +134,6 @@ def get_file_containing_time(timestamp, files_path, dto_func, file_time_span):
     return flist[k], ftimes[k], k
 
 
-# imports the S4 NOAA output
-# filename: full path as a string, '/home/user/filename'
-# returns a dict: time -> list of profiles (a profile is a list of levels)
-def get_aeolus_time_dict(filename, lon360=False, do_sort=True):
-    time_dict = {}
-
-    with open(filename) as file:
-        while True:
-            prof_hdr = file.readline()
-            if not prof_hdr:
-                break
-            toks = prof_hdr.split()
-
-            yr = int(float(toks[0]))
-            mon = int(float(toks[1]))
-            dy = int(float(toks[2]))
-            hr = int(float(toks[3]))
-            mn = int(float(toks[4]))
-            ss = int(float(toks[5]))
-            lon = float(toks[6])
-            lat = float(toks[7])
-            nlevs = int(toks[8])
-
-            if lon360:
-                if lon < 0:
-                    lon += 360.0
-            else:
-                if lon > 180.0:
-                    lon -= 360.0
-
-            dto = datetime.datetime(year=yr, month=mon, day=dy, hour=hr, minute=mn, second=ss)
-            dto = dto.replace(tzinfo=timezone.utc)
-            timestamp = dto.timestamp()
-
-            prof = []
-            if time_dict.get(timestamp, -1) == -1:
-                prof_s = []
-                prof_s.append(prof)
-                time_dict[timestamp] = prof_s
-            else:
-                prof_s = time_dict.get(timestamp)
-                prof_s.append(prof)
-
-            for k in range(nlevs):
-                line = file.readline()
-                toks = line.split()
-                lvlidx = int(toks[0])
-                hhh = float(toks[1]) * 1000.0
-                hht = float(toks[2]) * 1000.0
-                hhb = float(toks[3]) * 1000.0
-                err = float(toks[4])
-                azm = float(toks[5])
-                ws = float(toks[6])
-                len = float(toks[7])
-
-                tup = (lat, lon, hhh, hht, hhb, azm, ws)
-
-                prof.append(tup)
-
-        file.close()
-
-    if do_sort:
-        keys = np.array(list(time_dict.keys()))
-        keys.sort()
-        keys = keys.tolist()
-
-        sorted_time_dict = {}
-
-        for key in keys:
-            sorted_time_dict[key] = time_dict.get(key)
-        time_dict = sorted_time_dict
-
-    return time_dict
-
-
 def time_dict_to_cld_layers(time_dict):
     time_dict_layers = {}