diff --git a/modules/util/util.py b/modules/util/util.py index 7b07d4bfb775dfd9178f1ddbae20c50a7a55bd69..c74e1514fc3381f5db7674de81902b53632447f4 100644 --- a/modules/util/util.py +++ b/modules/util/util.py @@ -17,6 +17,41 @@ LatLonTuple = namedtuple('LatLonTuple', ['lat', 'lon']) homedir = os.path.expanduser('~') + '/' +# --- CLAVRx Radiometric parameters and metadata ------------------------------------------------ +l1b_ds_list = ['temp_10_4um_nom', 'temp_11_0um_nom', 'temp_12_0um_nom', 'temp_13_3um_nom', 'temp_3_75um_nom', + 'temp_6_2um_nom', 'temp_6_7um_nom', 'temp_7_3um_nom', 'temp_8_5um_nom', 'temp_9_7um_nom', + 'refl_0_47um_nom', 'refl_0_65um_nom', 'refl_0_86um_nom', 'refl_1_38um_nom', 'refl_1_60um_nom'] + +l1b_ds_types = {ds: 'f4' for ds in l1b_ds_list} +l1b_ds_fill = {l1b_ds_list[i]: -32767 for i in range(10)} +l1b_ds_fill.update({l1b_ds_list[i+10]: -32768 for i in range(5)}) +l1b_ds_range = {ds: 'actual_range' for ds in l1b_ds_list} + +# --- CLAVRx L2 parameters and metadata +ds_list = ['cld_height_acha', 'cld_geo_thick', 'cld_press_acha', 'sensor_zenith_angle', 'supercooled_prob_acha', + 'supercooled_cloud_fraction', 'cld_temp_acha', 'cld_opd_acha', 'solar_zenith_angle', + 'cld_reff_acha', 'cld_reff_dcomp', 'cld_reff_dcomp_1', 'cld_reff_dcomp_2', 'cld_reff_dcomp_3', + 'cld_opd_dcomp', 'cld_opd_dcomp_1', 'cld_opd_dcomp_2', 'cld_opd_dcomp_3', 'cld_cwp_dcomp', 'iwc_dcomp', + 'lwc_dcomp', 'cld_emiss_acha', 'conv_cloud_fraction', 'cloud_type', 'cloud_phase', 'cloud_mask'] + +ds_types = {ds_list[i]: 'f4' for i in range(23)} +ds_types.update({ds_list[i+23]: 'i1' for i in range(3)}) +ds_fill = {ds_list[i]: -32768 for i in range(23)} +ds_fill.update({ds_list[i+23]: -128 for i in range(3)}) +ds_range = {ds_list[i]: 'actual_range' for i in range(23)} +ds_range.update({ds_list[i]: None for i in range(3)}) + +ds_types.update(l1b_ds_types) +ds_fill.update(l1b_ds_fill) +ds_range.update(l1b_ds_range) + +ds_types.update({'temp_3_9um_nom': 'f4'}) +ds_types.update({'cloud_fraction': 'f4'}) +ds_fill.update({'temp_3_9um_nom': -32767}) +ds_fill.update({'cloud_fraction': -32768}) +ds_range.update({'temp_3_9um_nom': 'actual_range'}) +ds_range.update({'cloud_fraction': 'actual_range'}) + class GenericException(Exception): def __init__(self, message):