# Lookup tables¶

class rtctools.optimization.optimization_problem.LookupTable

Bases: object

Lookup table.

__call__(self, *args)

Evaluate the lookup table.

Parameters: args (Float, iterable of floats, or Timeseries) – Input values. Lookup table evaluated at input values.

Example use:

y = lookup_table(1.0)
[y1, y2] = lookup_table([1.0, 2.0])

class rtctools.optimization.csv_lookup_table_mixin.CSVLookupTableMixin

During preprocessing, the CSV files located inside the lookup_tables subfolder are read. In every CSV file, the first column contains the output of the lookup table. Subsequent columns contain the input variables.

Cubic B-Splines are used to turn the data points into continuous lookup tables.

Optionally, a file curvefit_options.ini may be included inside the lookup_tables folder. This file contains, grouped per lookup table, the following options:

• monotonicity:
• is an integer, magnitude is ignored
• if positive, causes spline to be monotonically increasing
• if negative, causes spline to be monotonically decreasing
• if 0, leaves spline monotonicity unconstrained
• curvature:
• is an integer, magnitude is ignored
• if positive, causes spline curvature to be positive (convex)
• if negative, causes spline curvature to be negative (concave)
• if 0, leaves spline curvature unconstrained

Note

Currently only one-dimensional lookup tables are fully supported. Support for two-dimensional lookup tables is experimental.

Variables: csv_delimiter – Column delimiter used in CSV files. Default is ,. csv_lookup_table_debug – Whether to generate plots of the spline fits. Default is false. csv_lookup_table_debug_points – Number of evaluation points for plots. Default is 100.