From 904f0871db77707efa640e93507ecef79bfe308b Mon Sep 17 00:00:00 2001 From: tomrink <rink@ssec.wisc.edu> Date: Fri, 29 Apr 2022 11:12:15 -0500 Subject: [PATCH] snapshot... --- modules/util/util.py | 55 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/modules/util/util.py b/modules/util/util.py index 872d45d1..f781d510 100644 --- a/modules/util/util.py +++ b/modules/util/util.py @@ -615,6 +615,61 @@ def make_for_full_domain_predict(h5f, name_list=None, satellite='GOES16', domain return grd_dct, ll, cc +def make_for_full_domain_predict_viirs_clavrx(h5f, name_list=None, res_fac=1): + w_x = 16 + w_y = 16 + i_0 = 0 + j_0 = 0 + s_x = int(w_x / res_fac) + s_y = int(w_y / res_fac) + + ylen = h5f['scan_lines_along_track_direction'].shape[0] + xlen = h5f['pixel_elements_along_scan_direction'].shape[0] + + grd_dct = {name: None for name in name_list} + + cnt_a = 0 + for ds_name in name_list: + gvals = get_grid_values(h5f, ds_name, j_0, i_0, None, num_j=ylen, num_i=xlen) + if gvals is not None: + grd_dct[ds_name] = gvals + cnt_a += 1 + + if cnt_a > 0 and cnt_a != len(name_list): + raise GenericException('weirdness') + + grd_dct_n = {name: [] for name in name_list} + + n_x = int(xlen/s_x) - 1 + n_y = int(ylen/s_y) - 1 + + r_x = xlen - (n_x * s_x) + x_d = 0 if r_x >= w_x else int((w_x - r_x)/s_x) + n_x -= x_d + + r_y = ylen - (n_y * s_y) + y_d = 0 if r_y >= w_y else int((w_y - r_y)/s_y) + n_y -= y_d + + ll = [j_0 + j*s_y for j in range(n_y)] + cc = [i_0 + i*s_x for i in range(n_x)] + + for ds_name in name_list: + for j in range(n_y): + j_ul = j * s_y + j_ul_b = j_ul + w_y + for i in range(n_x): + i_ul = i * s_x + i_ul_b = i_ul + w_x + grd_dct_n[ds_name].append(grd_dct[ds_name][j_ul:j_ul_b, i_ul:i_ul_b]) + + grd_dct = {name: None for name in name_list} + for ds_name in name_list: + grd_dct[ds_name] = np.stack(grd_dct_n[ds_name]) + + return grd_dct, ll, cc + + def make_for_full_domain_predict2(h5f, satellite='GOES16', domain='FD', res_fac=1): w_x = 16 w_y = 16 -- GitLab