eradiate.test_tools.regression.RMSETest

class eradiate.test_tools.regression.RMSETest(name, value, reference=None, *, variable='brf_srf', threshold, archive_dir, plot)[source]

Bases: RegressionTest

This class implements a simple test based on the root mean squared error (RMSE) of a result array with respect to the reference data.

The test will pass if the computed root mean squared deviation between the result and reference is smaller or equal to the given threshold.

Parameters:
  • name (str) – Test case name.

  • value (xarray.Dataset) – Simulation result. Must be specified as a dataset.

  • reference (xarray.Dataset or path-like, optional, default: None) – Reference data. Can be specified as an xarray dataset, a path to a NetCDF file or a path to a resource.

  • variable (str, default: brf_srf) – Tested variable

  • threshold (float) – Test metric threshold

  • archive_dir (path-like) – Path to output artefact storage directory. Relative paths are interpreted with respect to the current working directory.

  • plot (bool) – Enable pyplot charts

Fields:
  • name (str) – Test case name.

  • value (xarray.Dataset) – Simulation result.

  • reference (xarray.Dataset or None) – Reference data.

  • variable (str) – Tested variable.

  • threshold (float) – Test metric threshold.

  • archive_dir (pathlib.Path) – Path to output artefact storage directory.

  • plot (bool) – Enable pyplot charts.

run(diagnostic=False)

This method controls the execution steps of the regression test:

  • handle missing reference data

  • catch errors during text evaluation

  • create the appropriate plots and data archives

Returns:

bool – Result of the test criterion comparison.