Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ben1post opened this issue Nov 7, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@ben1post
Copy link
Owner

ben1post commented Nov 7, 2023

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!

@ben1post ben1post added the enhancement New feature or request label Nov 7, 2023
@ben1post ben1post self-assigned this Nov 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant