diff --git a/modules/util/util.py b/modules/util/util.py index c74e1514fc3381f5db7674de81902b53632447f4..593b6b213443b2da3e05a9f4d588c1a4e88ade57 100644 --- a/modules/util/util.py +++ b/modules/util/util.py @@ -53,6 +53,13 @@ ds_range.update({'temp_3_9um_nom': 'actual_range'}) ds_range.update({'cloud_fraction': 'actual_range'}) +def get_fill_attrs(name): + if name in ds_fill: + return ds_fill[name], None + else: + return None, '_FillValue' + + class GenericException(Exception): def __init__(self, message): self.message = message @@ -681,7 +688,8 @@ def make_for_full_domain_predict(h5f, name_list=None, satellite='GOES16', domain 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) + fill_value, fill_value_name = get_fill_attrs(ds_name) + gvals = get_grid_values(h5f, ds_name, j_0, i_0, None, num_j=ylen, num_i=xlen, fill_value_name=fill_value_name, fill_value=fill_value) if gvals is not None: grd_dct[ds_name] = gvals cnt_a += 1 @@ -810,7 +818,8 @@ def make_for_full_domain_predict_viirs_clavrx(h5f, name_list=None, res_fac=1, da elif ds_name == 'cld_opd_dcomp': name = 'cld_opd_nlcomp' - gvals = get_grid_values(h5f, name, j_0, i_0, None, num_j=ylen, num_i=xlen) + fill_value, fill_value_name = get_fill_attrs(name) + gvals = get_grid_values(h5f, name, j_0, i_0, None, num_j=ylen, num_i=xlen, fill_value_name=fill_value_name, fill_value=fill_value) if gvals is not None: grd_dct[ds_name] = gvals cnt_a += 1 @@ -929,7 +938,8 @@ def prepare_evaluate(h5f, name_list, satellite='GOES16', domain='FD', res_fac=1, 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) + fill_value, fill_value_name = get_fill_attrs(ds_name) + gvals = get_grid_values(h5f, ds_name, j_0, i_0, None, num_j=ylen, num_i=xlen, fill_value_name=fill_value_name, fill_value=fill_value) if gvals is not None: grd_dct_n[ds_name] = gvals cnt_a += 1