Skip to content

Nununiform grids #228

@albop

Description

@albop

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions