-
Notifications
You must be signed in to change notification settings - Fork 46
Description
Are there any linked Issues or Pull Requests?
No response
Brief description
We aim to make the configuration of XIOS contexts within LFRic more accessible by decoupling the context definition from the context initialisation.
Further details of the issue.
In the current LFRic-XIOS implementation, the definition of the XIOS context is performed during the initialisation of the lfric_xios_context_type object. This means that a large amount of complex configuration work needs to happen in the space of a single routine, which has lead to the introduction of procedure pointers and functors in order to make sure everything happens at the correct time. Currently, everything is passed to the init_io subroutine at the driver level, which does not adequately allow for configuration of models with increasing I/O complexity.
If we can successfully decouple the XIOS context definition from the initialisation of the lfric_xios_context_type, then we can potentially allow for a longer period in which the XIOS context can be defined, which will allow for greater flexibility for our I/O capability.
Previous work was done on a trac branch - here: https://code.metoffice.gov.uk/trac/lfric/log/LFRic/branches/dev/edwardhone/r53806_openIoDefinition
Tagging: @andrewcoughtrie @stevemullerworth