Skip to content

Difficulty in adding new CFD-specific metadata to be automatically extracted

The session file explicitly states many aerodynamic parameters. Currently NekUpload only extracts a limited amount as only these are supported by the metadata schema in the Imperial Aeronautics Data Store (AE Datastore). The current parameters are effectively hardcoded, as the extractor.py must be aware of what parameters to extract and the metadata manager in metadata.py in the metadata sub-package must also be aware of what metadata to extract. It requires multiple changes in multiple areas, making it easy to introduce bugs.

The solution is to define some YAML configuration file, in the same way as netkar.yaml in NekData package, which can be easily modified to adjust what metadata parameters should be extracted. This should then be accessible by metadata.py and extractor.py, which now knows what it should find and store. This makes maintenance easier as changes are now centralised in one place.

The configuration file must allow specification of the parameter to be extracted, the location of where it is in the session file, and how it should be stored in the CFD-specific metadata payload for AE Datastore. Note that only data explicitly stated in files should be processed in this way. Implicit metadata that requires processing must obviously be programmed into extractor.py directly (i.e. do not touch how geometry domain is computed nor how solver type is deduced)