Skip to content

Complete implementation of time-varying reading with new temporal controller object #243

@EdHone

Description

@EdHone

Are there any linked Issues or Pull Requests?

#230, #242

Brief description

Tagging @christophermaynard @cjohnson-pi
A port of LFRic trac issue #4495

Further details of the issue.

The lfric_xios_time_axis object allows users to control time-varying data reads with XIOS, including enabling interpolation of incoming data to a finer temporal resolution. However, there are several downsides of the current iteration of this functionality, including:

  • extremely inefficient reading (needing to read all data points at once for every read)
  • a clunky API that is present in the algorithm level of many apps
  • over-specification of some generic functionality relating to time
  • a lack of connection between the object and it's related XIOS-based functionality

The ubiquity of this object across the apps makes it very difficult to refactor, so this ticket will implement a new version of the time axis object and integrate it with the lfric_xios_file_type. This will allow for incremental testing of the more advanced functionality and for inputs files to be gradually moved over to use the new functionality over time, rather than having a big-bang, linked-ticket change.

Sub-issues

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions