Monitoring diagnostic to show multiple datasets in one plot (incl. biases)#
Monitoring diagnostic to show multiple datasets in one plot (incl. biases).
Description#
This diagnostic can be used to visualize multiple datasets in one plot.
For some plot types, a reference dataset can be defined. For this, use the
facet reference_for_monitor_diags: true
in the definition of the dataset in
the recipe. Note that at most one reference dataset per variable is supported.
Please note that all benchmarking plot types (i.e. all plot types starting with
benchmarking_
) require exactly one dataset (the dataset to be benchmarked)
to have the facet benchmark_dataset: true
in the dataset entry of the
recipe. For benchmarking line plots (i.e. benchmarking_annual_cycle
,
benchmarking_diurnal_cycle
, benchmarking_timeseries
), it is recommended
to specify a particular line color and line style in the scripts
section of
the recipe for the dataset to be benchmarked (benchmark_dataset: true
) so
that this dataset is easy to identify in the plot.
- Currently supported plot types (use the option
plots
to specify them): Time series (plot type
timeseries
): for each variable separately, all datasets are plotted in one single figure. Input data needs to be 1D with single dimension time.Annual cycle (plot type
annual_cycle
): for each variable separately, all datasets are plotted in one single figure. Input data needs to be 1D with single dimension month_number.Diurnal cycle (plot type
diurnal_cycle
): for each variable separately, all datasets are plotted in one single figure. Input data needs to be 1D with single dimension hour.Maps (plot type
map
): for each variable and dataset, an individual map is plotted. If a reference dataset is defined, also include this dataset and a bias plot into the figure. Note that if a reference dataset is defined, all input datasets need to be given on the same horizontal grid (you can use the preprocessoresmvalcore.preprocessor.regrid()
for this). Input data needs to be 2D with dimensions latitude, longitude.Zonal mean profiles (plot type
zonal_mean_profile
): for each variable and dataset, an individual profile is plotted. If a reference dataset is defined, also include this dataset and a bias plot into the figure. Note that if a reference dataset is defined, all input datasets need to be given on the same horizontal and vertical grid (you can use the preprocessorsesmvalcore.preprocessor.regrid()
andesmvalcore.preprocessor.extract_levels()
for this). Input data needs to be 2D with dimensions latitude, altitude/air_pressure.Warning
The plot_type
profile
for zonal mean profiles has been deprecated in ESMValTool version 2.9.0 and is scheduled for removal in version 2.11.0. Please use plot typezonal_mean_profile
instead. This is an exact replacement.1D profiles (plot type
1d_profile
): for each variable separately, all datasets are plotted in one single figure. Input data needs to be 1D with single dimension altitude / air_pressureVariable vs. latitude plot (plot type
variable_vs_lat
): for each variable separately, all datasets are plotted in one single figure. Input data needs to be 1D with single dimension latitude.Hovmoeller Z vs. time (plot type
hovmoeller_z_vs_time
): for each variable and dataset, an individual figure is plotted. If a reference dataset is defined, also include this dataset and a bias plot into the figure. Note that if a reference dataset is defined, all input datasets need to be given on the same temporal and vertical grid (you can use the preprocessorsesmvalcore.preprocessor.regrid_time()
andesmvalcore.preprocessor.extract_levels()
for this). Input data needs to be 2D with dimensions time, altitude/air_pressure.Hovmoeller time vs. latitude or longitude (plot type
hovmoeller_time_vs_lat_or_lon
): for each variable and dataset, an individual figure is plotted. If a reference dataset is defined, also include this dataset and a bias plot into the figure. Note that if a reference dataset is defined, all input datasets need to be given on the same temporal and horizontal grid (you can use the preprocessorsesmvalcore.preprocessor.regrid_time()
andesmvalcore.preprocessor.regrid()
for this). Input data needs to be 2D with dimensions time, latitude/longitude.Benchmarking plot annual cycles (
benchmarking_annual_cycle
): Same as plot typeannual_cycle
but including the range of metric results from an ensemble of models as shading.Benchmarking box plots (
benchmarking_boxplot
): Box plots showing the metric results for given variables from a given model and the range from the first quartile to the third quartile, the median, and minimum and maximum values (excluding the outliers) from an ensemble of models for comparison.Benchmarking plot diurnal cycles (
benchmarking_diurnal_cycle
): Same as plot typediurnal_cycle
but including range of metric results from an ensemble of models as shading.Benchmarking map plots (
benchmarking_map
): Same as plot typemap
but with stippled areas masking grid cells where the selected metric is smaller than the 90% percentile of corresponding values from an ensemble of models used for comparison.Benchmarking plot time series (
benchmarking_timeseries
): Same as plot typetimeseries
but including the range of metric results from an ensemble of models as shading.Benchmarking plot zonal mean profiles (plot type
benchmarking_zonal
): Same as plot typezonal_mean_profile
but with stippled areas masking grid cells where the selected metric is smaller than the 90% percentile of corresponding values from an ensemble of models used for comparison.
Configuration options in recipe#
- facet_used_for_labels: str, optional (default: ‘dataset’)
Facet used to label different datasets in plot titles and legends. For example,
facet_used_for_labels: dataset
will use dataset names in plot titles and legends;facet_used_for_labels: exp
will use experiments in plot titles and legends. In addition,facet_used_for_labels
is used to select the correctplot_kwargs
for the different datasets (see configuration options for the different plot types below).- figure_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.figure()
. By default, usesconstrained_layout: true
.- group_variables_by: str, optional (default: ‘short_name’)
Facet which is used to create variable groups. For each variable group, an individual plot is created.
- matplotlib_rc_params: dict, optional (default: {})
Optional
matplotlib.RcParams
used to customize matplotlib plots. Options given here will be passed tomatplotlib.rc_context()
and used for all plots produced with this diagnostic. Note: fontsizes specified here might be overwritten by the plot-type-specific optionfontsize
(see below).- plots: dict, optional
Plot types plotted by this diagnostic (see list above). Dictionary keys must be
timeseries
,annual_cycle
,map
,zonal_mean_profile
,1d_profile
,variable_vs_lat
,hovmoeller_z_vs_time
,hovmoeller_time_vs_lat_or_lon
. Dictionary values are dictionaries used as options for the corresponding plot. The allowed options for the different plot types are given below.- plot_filename: str, optional
Filename pattern for the plots. Defaults to
{plot_type}_{real_name}_{dataset}_{mip}_{exp}_{ensemble}
. All tags (i.e., the entries in curly brackets, e.g.,{dataset}
, are replaced with the corresponding tags).- plot_folder: str, optional
Path to the folder to store figures. Defaults to
{plot_dir}/../../{dataset}/{exp}/{modeling_realm}/{real_name}
. All tags (i.e., the entries in curly brackets, e.g.,{dataset}
, are replaced with the corresponding tags).{plot_dir}
is replaced with the default ESMValTool plot directory (i.e.,output_dir/plots/diagnostic_name/script_name/
, see Output).- savefig_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.savefig()
. By default, usesbbox_inches: tight, dpi: 300, orientation: landscape
.- seaborn_settings: dict, optional
Options for
seaborn.set_theme()
(affects all plots). By default, usesstyle: ticks
.
Configuration options for plot type timeseries
#
- annual_mean_kwargs: dict, optional
Optional keyword arguments for
iris.plot.plot()
for plotting annual means. These keyword arguments update (and potentially overwrite) theplot_kwargs
for the annual mean plots. Useannual_mean_kwargs
to not show annual means.- gridline_kwargs: dict, optional
Optional keyword arguments for grid lines. By default,
color: lightgrey, alpha: 0.5
are used. Usegridline_kwargs: false
to not show grid lines.- legend_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.legend()
. Uselegend_kwargs: false
to not show legends.- plot_kwargs: dict, optional
Optional keyword arguments for
iris.plot.plot()
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments foriris.plot.plot()
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {linestyle: '-', label: '{project}'}, CMIP6: {color: red, linestyle: '--'}, OBS: {color: black}
.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- time_format: str, optional (default: None)
strftime()
format string that is used to format the time axis usingmatplotlib.dates.DateFormatter
. IfNone
, use the default formatting imposed by the iris plotting function.
Configuration options for plot type annual_cycle
and diurnal_cycle
#
- gridline_kwargs: dict, optional
Optional keyword arguments for grid lines. By default,
color: lightgrey, alpha: 0.5
are used. Usegridline_kwargs: false
to not show grid lines.- legend_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.legend()
. Uselegend_kwargs: false
to not show legends.- plot_kwargs: dict, optional
Optional keyword arguments for
iris.plot.plot()
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments foriris.plot.plot()
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {linestyle: '-', label: '{project}'}, CMIP6: {color: red, linestyle: '--'}, OBS: {color: black}
.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.
Configuration options for plot type map
#
- cbar_label: str, optional (default: ‘{short_name} [{units}]’)
Colorbar label. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
.- cbar_label_bias: str, optional (default: ‘Δ{short_name} [{units}]’)
Colorbar label for plotting biases. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
. This option has no effect if no reference dataset is given.- cbar_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
. By default, usesorientation: horizontal, aspect: 30
.- cbar_kwargs_bias: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
for plotting biases. These keyword arguments update (and potentially overwrite) thecbar_kwargs
for the bias plot. This option has no effect if no reference dataset is given.- common_cbar: bool, optional (default: False)
Use a common colorbar for the top panels (i.e., plots of the dataset and the corresponding reference dataset) when using a reference dataset. If neither
vmin
andvmix
norlevels
is given inplot_kwargs
, the colorbar bounds are inferred from the dataset in the top left panel, which might lead to an inappropriate colorbar for the reference dataset (top right panel). Thus, the use of theplot_kwargs
vmin
andvmax
orlevels
is highly recommend when using thiscommon_cbar: true
. This option has no effect if no reference dataset is given.- fontsize: int, optional (default: None)
Fontsize used for ticks, labels and titles. For the latter, use the given fontsize plus 2. Does not affect suptitles. If not given, use default matplotlib values. For a more fine-grained definition of fontsizes, use the option
matplotlib_rc_params
(see above).- gridline_kwargs: dict, optional
Optional keyword arguments for grid lines. By default,
color: lightgrey, alpha: 0.5
are used. Usegridline_kwargs: false
to not show grid lines.- plot_func: str, optional (default: ‘contourf’)
Plot function used to plot the maps. Must be a function of
iris.plot
that supports plotting of 2D cubes with coordinates latitude and longitude.- plot_kwargs: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments for the plot function defined byplot_func
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {levels: 2}, CMIP6: {vmin: 200, vmax: 250}
. In addition to the normalization options supported by the plot function, the optionnorm: centered
can be specified. In this case, the keywordsvcenter
andhalfrange
should be used instead ofvmin
orvmax
(seeCenteredNorm
).- plot_kwargs_bias: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
for plotting biases. These keyword arguments update (and potentially overwrite) theplot_kwargs
for the bias plot. This option has no effect if no reference dataset is given. See optionplot_kwargs
for more details. By default, usescmap: bwr
andnorm: centered
.- projection: str, optional (default: ‘Robinson’)
Projection used for the map plot. Needs to be a valid projection class of
cartopy.crs
. Keyword arguments can be specified using the optionprojection_kwargs
.- projection_kwargs: dict, optional
Optional keyword arguments for the projection given by
projection
. For the default projectionRobinson
, the default keyword argumentscentral_longitude: 10
are used.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- rasterize: bool, optional (default: True)
If
True
, use rasterization for map plots to produce smaller files. This is only relevant for vector graphics (e.g.,output_file_type: pdf,svg,ps
).- show_stats: bool, optional (default: True)
Show basic statistics on the plots.
- x_pos_stats_avg: float, optional (default: 0.0)
Text x-position of average (shown on the left) in Axes coordinates. Can be adjusted to avoid overlap with the figure. Only relevant if
show_stats: true
.- x_pos_stats_bias: float, optional (default: 0.92)
Text x-position of bias statistics (shown on the right) in Axes coordinates. Can be adjusted to avoid overlap with the figure. Only relevant if
show_stats: true
.
Configuration options for plot type zonal_mean_profile
#
- cbar_label: str, optional (default: ‘{short_name} [{units}]’)
Colorbar label. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
.- cbar_label_bias: str, optional (default: ‘Δ{short_name} [{units}]’)
Colorbar label for plotting biases. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
. This option has no effect if no reference dataset is given.- cbar_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
. By default, usesorientation: vertical
.- cbar_kwargs_bias: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
for plotting biases. These keyword arguments update (and potentially overwrite) thecbar_kwargs
for the bias plot. This option has no effect if no reference dataset is given.- common_cbar: bool, optional (default: False)
Use a common colorbar for the top panels (i.e., plots of the dataset and the corresponding reference dataset) when using a reference dataset. If neither
vmin
andvmix
norlevels
is given inplot_kwargs
, the colorbar bounds are inferred from the dataset in the top left panel, which might lead to an inappropriate colorbar for the reference dataset (top right panel). Thus, the use of theplot_kwargs
vmin
andvmax
orlevels
is highly recommend when using thiscommon_cbar: true
. This option has no effect if no reference dataset is given.- fontsize: int, optional (default: None)
Fontsize used for ticks, labels and titles. For the latter, use the given fontsize plus 2. Does not affect suptitles. If not given, use default matplotlib values. For a more fine-grained definition of fontsizes, use the option
matplotlib_rc_params
(see above).- log_y: bool, optional (default: True)
Use logarithmic Y-axis.
- plot_func: str, optional (default: ‘contourf’)
Plot function used to plot the profiles. Must be a function of
iris.plot
that supports plotting of 2D cubes with coordinates latitude and altitude/air_pressure.- plot_kwargs: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments for the plot function defined byplot_func
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {levels: 2}, CMIP6: {vmin: 200, vmax: 250}
. In addition to the normalization options supported by the plot function, the optionnorm: centered
can be specified. In this case, the keywordsvcenter
andhalfrange
should be used instead ofvmin
orvmax
(seeCenteredNorm
).- plot_kwargs_bias: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
for plotting biases. These keyword arguments update (and potentially overwrite) theplot_kwargs
for the bias plot. This option has no effect if no reference dataset is given. See optionplot_kwargs
for more details. By default, usescmap: bwr
andnorm: centered
.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- rasterize: bool, optional (default: True)
If
True
, use rasterization for profile plots to produce smaller files. This is only relevant for vector graphics (e.g.,output_file_type: pdf,svg,ps
).- show_stats: bool, optional (default: True)
Show basic statistics on the plots.
- show_y_minor_ticklabels: bool, optional (default: False)
Show tick labels for the minor ticks on the Y axis.
- x_pos_stats_avg: float, optional (default: 0.01)
Text x-position of average (shown on the left) in Axes coordinates. Can be adjusted to avoid overlap with the figure. Only relevant if
show_stats: true
.- x_pos_stats_bias: float, optional (default: 0.7)
Text x-position of bias statistics (shown on the right) in Axes coordinates. Can be adjusted to avoid overlap with the figure. Only relevant if
show_stats: true
.
Configuration options for plot type 1d_profile
#
- aspect_ratio: float, optional (default: 1.5)
Aspect ratio of the plot. The default value results in a slender upright plot.
- gridline_kwargs: dict, optional
Optional keyword arguments for grid lines. By default,
color: lightgrey, alpha: 0.5
are used. Usegridline_kwargs: false
to not show grid lines.- legend_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.legend()
. Uselegend_kwargs: false
to not show legends.- log_x: bool, optional (default: False)
Use logarithmic X-axis. Note that for the logarithmic x axis tickmarks are set so that minor tickmarks show up. Setting of individual tickmarks by pyplot_kwargs is not recommended in this case.
- log_y: bool, optional (default: True)
Use logarithmic Y-axis.
- plot_kwargs: dict, optional
Optional keyword arguments for
iris.plot.plot()
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments foriris.plot.plot()
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {linestyle: '-', label: '{project}'}, CMIP6: {color: red, linestyle: '--'}, OBS: {color: black}
.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- show_y_minor_ticklabels: bool, optional (default: False)
Show tick labels for the minor ticks on the Y axis.
Configuration options for plot type variable_vs_lat
#
- gridline_kwargs: dict, optional
Optional keyword arguments for grid lines. By default,
color: lightgrey, alpha: 0.5
are used. Usegridline_kwargs: false
to not show grid lines.- legend_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.legend()
. Uselegend_kwargs: false
to not show legends.- plot_kwargs: dict, optional
Optional keyword arguments for
iris.plot.plot()
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments foriris.plot.plot()
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {linestyle: '-', label: '{project}'}, CMIP6: {color: red, linestyle: '--'}, OBS: {color: black}
.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.
Configuration options for plot type hovmoeller_z_vs_time
#
- cbar_label: str, optional (default: ‘{short_name} [{units}]’)
Colorbar label. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
.- cbar_label_bias: str, optional (default: ‘Δ{short_name} [{units}]’)
Colorbar label for plotting biases. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
. This option has no effect if no reference dataset is given.- cbar_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
. By default, usesorientation: vertical
.- cbar_kwargs_bias: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
for plotting biases. These keyword arguments update (and potentially overwrite) thecbar_kwargs
for the bias plot. This option has no effect if no reference dataset is given.- common_cbar: bool, optional (default: False)
Use a common colorbar for the top panels (i.e., plots of the dataset and the corresponding reference dataset) when using a reference dataset. If neither
vmin
andvmix
norlevels
is given inplot_kwargs
, the colorbar bounds are inferred from the dataset in the top left panel, which might lead to an inappropriate colorbar for the reference dataset (top right panel). Thus, the use of theplot_kwargs
vmin
andvmax
orlevels
is highly recommend when using thiscommon_cbar: true
. This option has no effect if no reference dataset is given.- fontsize: int, optional (default: None)
Fontsize used for ticks, labels and titles. For the latter, use the given fontsize plus 2. Does not affect suptitles. If not given, use default matplotlib values. For a more fine-grained definition of fontsizes, use the option
matplotlib_rc_params
(see above).- log_y: bool, optional (default: True)
Use logarithmic Y-axis.
- plot_func: str, optional (default: ‘contourf’)
Plot function used to plot the profiles. Must be a function of
iris.plot
that supports plotting of 2D cubes with coordinates latitude and altitude/air_pressure.- plot_kwargs: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments for the plot function defined byplot_func
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {levels: 2}, CMIP6: {vmin: 200, vmax: 250}
. In addition to the normalization options supported by the plot function, the optionnorm: centered
can be specified. In this case, the keywordsvcenter
andhalfrange
should be used instead ofvmin
orvmax
(seeCenteredNorm
).- plot_kwargs_bias: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
for plotting biases. These keyword arguments update (and potentially overwrite) theplot_kwargs
for the bias plot. This option has no effect if no reference dataset is given. See optionplot_kwargs
for more details. By default, usescmap: bwr
andnorm: centered
.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- rasterize: bool, optional (default: True)
If
True
, use rasterization for profile plots to produce smaller files. This is only relevant for vector graphics (e.g.,output_file_type: pdf,svg,ps
).- show_stats: bool, optional (default: True)
Show basic statistics on the plots.
- show_y_minor_ticklabels: bool, optional (default: False)
Show tick labels for the minor ticks on the Y axis.
- x_pos_stats_avg: float, optional (default: 0.01)
Text x-position of average (shown on the left) in Axes coordinates. Can be adjusted to avoid overlap with the figure. Only relevant if
show_stats: true
.- x_pos_stats_bias: float, optional (default: 0.7)
Text x-position of bias statistics (shown on the right) in Axes coordinates. Can be adjusted to avoid overlap with the figure. Only relevant if
show_stats: true
.- time_format: str, optional (default: None)
strftime()
format string that is used to format the time axis usingmatplotlib.dates.DateFormatter
. IfNone
, use the default formatting imposed by the iris plotting function.
Configuration options for plot type hovmoeller_time_vs_lat_or_lon
#
- cbar_label: str, optional (default: ‘{short_name} [{units}]’)
Colorbar label. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
.- cbar_label_bias: str, optional (default: ‘Δ{short_name} [{units}]’)
Colorbar label for plotting biases. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
. This option has no effect if no reference dataset is given.- cbar_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
. By default, usesorientation: vertical
.- cbar_kwargs_bias: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
for plotting biases. These keyword arguments update (and potentially overwrite) thecbar_kwargs
for the bias plot. This option has no effect if no reference dataset is given.- common_cbar: bool, optional (default: False)
Use a common colorbar for the top panels (i.e., plots of the dataset and the corresponding reference dataset) when using a reference dataset. If neither
vmin
andvmix
norlevels
is given inplot_kwargs
, the colorbar bounds are inferred from the dataset in the top left panel, which might lead to an inappropriate colorbar for the reference dataset (top right panel). Thus, the use of theplot_kwargs
vmin
andvmax
orlevels
is highly recommend when using thiscommon_cbar: true
. This option has no effect if no reference dataset is given.- fontsize: int, optional (default: None)
Fontsize used for ticks, labels and titles. For the latter, use the given fontsize plus 2. Does not affect suptitles. If not given, use default matplotlib values. For a more fine-grained definition of fontsizes, use the option
matplotlib_rc_params
(see above).- plot_func: str, optional (default: ‘contourf’)
Plot function used to plot the profiles. Must be a function of
iris.plot
that supports plotting of 2D cubes with coordinates latitude and height/air_pressure.- plot_kwargs: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments for the plot function defined byplot_func
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {levels: 2}, CMIP6: {vmin: 200, vmax: 250}
. In addition to the normalization options supported by the plot function, the optionnorm: centered
can be specified. In this case, the keywordsvcenter
andhalfrange
should be used instead ofvmin
orvmax
(seeCenteredNorm
).- plot_kwargs_bias: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
for plotting biases. These keyword arguments update (and potentially overwrite) theplot_kwargs
for the bias plot. This option has no effect if no reference dataset is given. See optionplot_kwargs
for more details. By default, usescmap: bwr
andnorm: centered
.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- rasterize: bool, optional (default: True)
If
True
, use rasterization for profile plots to produce smaller files. This is only relevant for vector graphics (e.g.,output_file_type: pdf,svg,ps
).- show_y_minor_ticks: bool, optional (default: True)
Show minor ticks for time on the Y axis.
- show_x_minor_ticks: bool, optional (default: True)
Show minor ticks for latitude or longitude on the X axis.
- time_format: str, optional (default: None)
strftime()
format string that is used to format the time axis usingmatplotlib.dates.DateFormatter
. IfNone
, use the default formatting imposed by the iris plotting function.- time_on: str, optional (default: y-axis)
Optional switch to change the orientation of the plot so that time is on the x-axis
time_on: x-axis
. Default orientation is time on y-axis and lat/lon on x-axis.
Configuration options for plot type benchmarking_annual_cycle
#
Same as for plot type annual_cycle
.
Configuration options for plot type benchmarking_boxplot
#
- fontsize: int, optional (default: None)
Fontsize used for ticks, labels and titles. For the latter, use the given fontsize plus 2. Does not affect suptitles. If not given, use default matplotlib values. For a more fine-grained definition of fontsizes, use the option
matplotlib_rc_params
(see above).- plot_kwargs: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments for the plot function defined byplot_func
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {levels: 2}, CMIP6: {vmin: 200, vmax: 250}
.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- var_order: list of str, optional
Optional list of strings containing variable names to define the order of the variables plotted.
Configuration options for plot type benchmarking_diurnal_cycle
#
Same as for plot type diurnal_cycle
.
Configuration options for plot type benchmarking_map
#
- cbar_label: str, optional (default: ‘{short_name} [{units}]’)
Colorbar label. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
.- cbar_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
. By default, usesorientation: horizontal, aspect: 30
.- fontsize: int, optional (default: None)
Fontsize used for ticks, labels and titles. For the latter, use the given fontsize plus 2. Does not affect suptitles. If not given, use default matplotlib values. For a more fine-grained definition of fontsizes, use the option
matplotlib_rc_params
(see above).- plot_func: str, optional (default: ‘contourf’)
Plot function used to plot the maps. Must be a function of
iris.plot
that supports plotting of 2D cubes with coordinates latitude and longitude.- plot_kwargs: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments for the plot function defined byplot_func
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {levels: 2}, CMIP6: {vmin: 200, vmax: 250}
. In addition to the normalization options supported by the plot function, the optionnorm: centered
can be specified. In this case, the keywordsvcenter
andhalfrange
should be used instead ofvmin
orvmax
(seeCenteredNorm
).- projection: str, optional (default: ‘Robinson’)
Projection used for the map plot. Needs to be a valid projection class of
cartopy.crs
. Keyword arguments can be specified using the optionprojection_kwargs
.- projection_kwargs: dict, optional
Optional keyword arguments for the projection given by
projection
. For the default projectionRobinson
, the default keyword argumentscentral_longitude: 10
are used.- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- rasterize: bool, optional (default: True)
If
True
, use rasterization for map plots to produce smaller files. This is only relevant for vector graphics (e.g.,output_file_type: pdf,svg,ps
).
Configuration options for plot type benchmarking_timeseries
#
Same as for plot type timeseries
.
Configuration options for plot type benchmarking_zonal
#
- cbar_label: str, optional (default: ‘{short_name} [{units}]’)
Colorbar label. Can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,
{project}
,{short_name}
,{exp}
.- cbar_kwargs: dict, optional
Optional keyword arguments for
matplotlib.pyplot.colorbar()
. By default, usesorientation: vertical
.- fontsize: int, optional (default: None)
Fontsize used for ticks, labels and titles. For the latter, use the given fontsize plus 2. Does not affect suptitles. If not given, use default matplotlib values. For a more fine-grained definition of fontsizes, use the option
matplotlib_rc_params
(see above).- log_y: bool, optional (default: True)
Use logarithmic Y-axis.
- plot_func: str, optional (default: ‘contourf’)
Plot function used to plot the profiles. Must be a function of
iris.plot
that supports plotting of 2D cubes with coordinates latitude and altitude/air_pressure.- plot_kwargs: dict, optional
Optional keyword arguments for the plot function defined by
plot_func
. Dictionary keys are elements identified byfacet_used_for_labels
ordefault
, e.g.,CMIP6
iffacet_used_for_labels: project
orhistorical
iffacet_used_for_labels: exp
. Dictionary values are dictionaries used as keyword arguments for the plot function defined byplot_func
. String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:default: {levels: 2}, CMIP6: {vmin: 200, vmax: 250}
. In addition to the normalization options supported by the plot function, the optionnorm: centered
can be specified. In this case, the keywordsvcenter
andhalfrange
should be used instead ofvmin
orvmax
(seeCenteredNorm
).- pyplot_kwargs: dict, optional
Optional calls to functions of
matplotlib.pyplot
. Dictionary keys are functions ofmatplotlib.pyplot
. Dictionary values are used as argument(s) for these functions (if values are dictionaries, these are interpreted as keyword arguments; otherwise a single argument is assumed). String arguments can include facets in curly brackets which will be derived from the corresponding dataset, e.g.,{project}
,{short_name}
,{exp}
. Examples:title: 'Awesome Plot of {long_name}'
,xlabel: '{short_name}'
,xlim: [0, 5]
.- rasterize: bool, optional (default: True)
If
True
, use rasterization for profile plots to produce smaller files. This is only relevant for vector graphics (e.g.,output_file_type: pdf,svg,ps
).- show_y_minor_ticklabels: bool, optional (default: False)
Show tick labels for the minor ticks on the Y axis.
Hint
Extra arguments given to the recipe are ignored, so it is safe to use yaml anchors to share the configuration of common arguments with other monitor diagnostic script.