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)