diff --git a/pcmdi_metrics/mean_climate/lib/plot_clim_maps.py b/pcmdi_metrics/mean_climate/lib/plot_clim_maps.py index aff093bd8..ab9475774 100644 --- a/pcmdi_metrics/mean_climate/lib/plot_clim_maps.py +++ b/pcmdi_metrics/mean_climate/lib/plot_clim_maps.py @@ -1176,6 +1176,14 @@ def _load_variable_setting( # Check if the variable and level exist in the settings if data_var in var_setting_dict: + # The variable might exist, but not the level. In that case, use the colormaps for the first level within the variable dictionary + first_key = next(iter(var_setting_dict[data_var])) + cmap = _get_colormap( + var_setting_dict[data_var][first_key].get("colormap", None) + ) + cmap_diff = _get_colormap( + var_setting_dict[data_var][first_key].get("colormap_diff", None) + ) if level in var_setting_dict[data_var]: settings = var_setting_dict[data_var][level] contour_levels = settings.get("contour_levels", None) @@ -1211,10 +1219,10 @@ def _load_variable_setting( cmap = plt.get_cmap("jet") if cmap_diff is None: cmap_diff = plt.get_cmap("RdBu_r") - if cmap_ext is None: # Prevent colorbar extension - cmap_ext = None - if cmap_ext_diff is None: # Prevent colorbar extension - cmap_ext_diff = None + if cmap_ext is None: # Allow colorbar extension + cmap_ext = "both" + if cmap_ext_diff is None: # Allow colorbar extension + cmap_ext_diff = "both" if diff: return contour_levels_diff, cmap_diff, cmap_ext_diff