diff --git a/modules/util/geos_nav.py b/modules/util/geos_nav.py
index 0046a50ed31d43dbb323d507527e2a2b2f6cce3a..227c2e0be26baf47b0e7443f56718b55328cce48 100644
--- a/modules/util/geos_nav.py
+++ b/modules/util/geos_nav.py
@@ -265,6 +265,24 @@ def get_navigation(satellite='GOES16', domain='FD'):
 
     return nav
 
+
+def get_lon_lat_2d_mesh(nav, ll, cc):
+    num_elems = len(cc)
+    num_lines = len(ll)
+    cc = np.array(cc)
+    ll = np.array(ll)
+    x_rad = cc * nav.CFAC + nav.COFF
+    y_rad = ll * nav.LFAC + nav.LOFF
+
+    ll, cc = np.meshgrid(ll, cc, indexing='ij')
+    cc = cc.flatten()
+    ll = ll.flatten()
+    lon_s, lat_s = nav.lc_to_earth(cc, ll)
+    lons_2d = lon_s.reshape((num_lines, num_elems))
+    lats_2d = lat_s.reshape((num_lines, num_elems))
+
+    return lons_2d, lats_2d, x_rad, y_rad
+
 # def compute_scale_offset(lon_a, lat_a, col_a, line_a, lon_b, lat_b, col_b, line_b):
 #     lamda_a, theta_a = earth_to_sat(lon_a, lat_a)
 #     lamda_b, theta_b = earth_to_sat(lon_b, lat_b)