Skip to content

Facilitating the scaling of models to multi-dimensional settings (0D to 3D) #1

@ben1post

Description

@ben1post

This is an issue of particular interest to the marine ecosystem modeling application of XSO as showcased in the Phydra library, which currently only contains zero-dimensional models.

Technically XSO already supports multi-dimensional models, but what is meant here, is that specific model formulations can be scaled from 0D to 1D and 3D physical settings in a straightforward manner.

This is a considerable developmental effort, that I would like to use this issue to discuss and track.

There was previously an extensive discussion in the first issue on the Phydra repository during development.

Currently the dimensionality of variable types has to be hard-coded within a component, with the added flexibility, built into Xarray-simlab that the dims argument of an xs.variable can be supplied as a string, tuple or list.
If provided as a list, the variable can take multiple dimensional inputs. XSO variables are a wrapper around xs.variable, so the same input arguments and functionality are available.

This could be used to build a proof-of-concept model, that includes multiple additional dimensions for each variable defined (e.g. like dims=['time',('time','x'),('time','x', 'y'), ...]).

By scaling the input variable dimensionality at model setup, and adding specific components that define the interaction among the dimensions (e.g. diffusion or mixing), this could provide the flexible dimensionality envisioned here.

Feel free to add questions or ideas to this issue, to guide the development to your specific use case!

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions