-
Notifications
You must be signed in to change notification settings - Fork 73
Description
The decision rule object has had the ability for a while to interpolate on nonuniform cartesian grids, as long as it is supported by interpolation.py (currently multilinear is supported, cubic upcoming).
But there is no way to specify a nonuniform spline in the yaml file. A very simple syntax could be as follows:
domain: # unchanged
z: [-2*sig_z/(1-rho^2)^0.5, 2*sig_z/(1-rho^2)^0.5]
k: [ kss*0.5, kss*1.5]
options:
grid:
z: 40
k: [kss*0.5, kss*0.6, kss*0.8, kss*0.9, kss, kss*1.1, kss*1.2, kss*1.3, kss*1.4, kss*0.1.5]The arguments of grid, would be represented as a DiscretizationScheme, which would then be applied to the domain object. Arguments could be either a float (as for z) or an array.
To avoid complications, one possibility could be to introduce a new discretization option, meant to eventually supersede options:grid. So it would be:
options:
discretization: !DiscretizationScheme
z: 40
k: [kss*0.5, kss*0.6, kss*0.8, kss*0.9, kss, kss*1.1, kss*1.2, kss*1.3, kss*1.4, kss*0.1.5]At a later stage, we could introduce a language to construct arrays, with concatenation (easy) or comprehension (tricky but feasible).